package com.zlict.admin.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zlict.common.annotation.Excel;
import com.zlict.common.core.domain.BaseEntity;

/**
 * 研发人员工资对象 user_salary
 * 
 * @author ruoyi
 * @date 2025-06-09
 */
public class UserSalary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    private Long id;

    /** 用户ID */
    @Excel(name = "工号")
    private String userName;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM")
    private Date salaryDate;

    /** 月总工时 */
    @Excel(name = "月总工时", isExport = false)
    private Long workhours;

    /** 月研发工时 */
    @Excel(name = "月研发工时", isExport = false)
    private Long develophours;

    /** 工资 */
    @Excel(name = "工资")
    private BigDecimal salary;

    /** 公积金 */
    @Excel(name = "公积金")
    private BigDecimal gjj;

    /** 五险 */
    @Excel(name = "五险")
    private BigDecimal wx;

    /** 奖金 */
    @Excel(name = "奖金")
    private BigDecimal jj;

    /** 福利费 */
    @Excel(name = "福利费")
    private BigDecimal flf;

    /** 计薪规则 */
    @Excel(name = "计薪规则", isExport = false)
    private String rule;

    private String deptName;

    /** $column.columnComment */
//    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
//    private Integer isDelete;

    /** $column.columnComment */
//    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
//    private Integer isEnable;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setSalaryDate(Date salaryDate) 
    {
        this.salaryDate = salaryDate;
    }

    public Date getSalaryDate() 
    {
        return salaryDate;
    }

    public void setWorkhours(Long workhours) 
    {
        this.workhours = workhours;
    }

    public Long getWorkhours() 
    {
        return workhours;
    }

    public void setDevelophours(Long develophours) 
    {
        this.develophours = develophours;
    }

    public Long getDevelophours() 
    {
        return develophours;
    }

    public void setSalary(BigDecimal salary) 
    {
        this.salary = salary;
    }

    public BigDecimal getSalary() 
    {
        return salary;
    }

    public void setGjj(BigDecimal gjj) 
    {
        this.gjj = gjj;
    }

    public BigDecimal getGjj() 
    {
        return gjj;
    }

    public void setWx(BigDecimal wx) 
    {
        this.wx = wx;
    }

    public BigDecimal getWx() 
    {
        return wx;
    }

    public void setJj(BigDecimal jj) 
    {
        this.jj = jj;
    }

    public BigDecimal getJj() 
    {
        return jj;
    }

    public void setFlf(BigDecimal flf) 
    {
        this.flf = flf;
    }

    public BigDecimal getFlf() 
    {
        return flf;
    }

    public void setRule(String rule) 
    {
        this.rule = rule;
    }

    public String getRule() 
    {
        return rule;
    }

//    public void setIsDelete(Integer isDelete)
//    {
//        this.isDelete = isDelete;
//    }


//    public void setIsEnable(Integer isEnable)
//    {
//        this.isEnable = isEnable;
//    }


    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userName", getUserName())
            .append("salaryDate", getSalaryDate())
            .append("workhours", getWorkhours())
            .append("develophours", getDevelophours())
            .append("salary", getSalary())
            .append("gjj", getGjj())
            .append("wx", getWx())
            .append("jj", getJj())
            .append("flf", getFlf())
            .append("rule", getRule())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
